from django.conf.urls import url
from django.contrib import admin
from rest_framework.routers import DefaultRouter

from booktest import views

#继承了视图集扩展类，配置URL的时候，，一定要指明，各种请求对应的方法
# 不同的URL会有相同的请求，所以一个视图集配置的时候会有不同的URL
# 指明的请求对应的方法应该通过as_view传一个字典进入
from booktest.views import BookInfoViewSet

urlpatterns = [
    # url(r'^books/$',views.BookInfoViewSet.as_view({
    #     'get':'list',
    #     'post':'create',
    # }),name='books-list'),
    # url(r'^books/(?P<pk>\d+)/$',views.BookInfoViewSet.as_view({
    #     'get':'retrieve',
    #     'put':'update',
    #     'delete':'destroy',
    # }),name='books-detail'),
    # url(r'^books/latest/$',views.BookInfoViewSet.as_view({
    #     'get':'latest'
    # }),name='books-latest'),
    # url(r'^books/(?P<pk>\d+)/read/$',views.BookInfoViewSet.as_view({
    #     'put':'read'
    # }),name='books-read'),
]

#使用路由Router动态生成视图集处理函数的URL配置项

#先创建一个DefaultRouter实例对象
router = DefaultRouter()
# 用实例对象注册视图集，指明URL前缀，和要注册的视图集，以及URL对应的url配置项名,一般和前缀同名
router.register('books',BookInfoViewSet,base_name='books')
#拼接到列表urlpatterns中
urlpatterns += router.urls




# 以上几行就可以实现这些路由

# 1. 获取所有图书的信息 GET /books/
# 2. 新增一本图书信息	 POST /books/
# 3. 获取指定的图书信息 GET /books/(?P<pk>\d+)/
# 4. 修改指定的图书信息 PUT /books/(?P<pk>\d+)/
# 5. 删除指定的图书信息 DELETE /books/(?P<pk>\d+)/
